In [1]:
df = pd.DataFrame(columns=["시", "동"])
df
Out[1]:
In [5]:
df.loc[0] = ["서울", "신사동"]
df.loc[1] = ["서울", "대치동"]
df.loc[2] = ["서울", "봉천동"]
df.loc[3] = ["부산", "부산 1동"]
df.loc[4] = ["부산", "부산 2동"]
df.loc[5] = ["경북", "효자동"]
df.loc[6] = ["경북", "지곡동"]
In [6]:
df
Out[6]:
In [10]:
df["시"] #이거는 Series
Out[10]:
In [11]:
list(df["시"])
Out[11]:
In [12]:
set(list(df["시"]))
Out[12]:
In [13]:
list(set(list(df["시"])))
Out[13]:
In [15]:
#위의 과정을 압축하면
df["시"].unique()
Out[15]:
In [24]:
city_name = "서울"
is_city = df["시"] == city_name # 특정 True/False의 Series를 만들고
df[is_city] # 해당하는 row만 뽑는다.
Out[24]:
In [33]:
city_df_dict = {}
for city_name in df["시"].unique():
is_city = df["시"] == city_name
city_df = df[is_city]
city_df_dict[city_name] = city_df
In [36]:
city_df_dict["부산"] #Python의 자료형을 이용한 방법
Out[36]:
In [38]:
df.groupby("시")
Out[38]:
In [39]:
city_groups = df.groupby("시")
In [42]:
city_groups.get_group("경북")
Out[42]: